widget: Stop using ::map-event
authorMatthias Clasen <mclasen@redhat.com>
Mon, 1 Jan 2018 21:57:55 +0000 (16:57 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 16 Jan 2018 19:14:09 +0000 (14:14 -0500)
Use ::event here, since we want to drop the event-specific
signals.

gtk/gtkwidget.c

index eae51deaca8ec57728c97f668582c5b987050263..5bf679456e2a59a2829d0443e647ee373b09fbdb 100644 (file)
@@ -3983,13 +3983,18 @@ gtk_widget_real_show (GtkWidget *widget)
     }
 }
 
-static void
+static gboolean
 gtk_widget_show_map_callback (GtkWidget *widget, GdkEvent *event, gint *flag)
 {
-  *flag = TRUE;
-  g_signal_handlers_disconnect_by_func (widget,
-                                       gtk_widget_show_map_callback,
-                                       flag);
+  if (gdk_event_get_event_type (event) == GDK_MAP)
+    {
+      *flag = TRUE;
+      g_signal_handlers_disconnect_by_func (widget,
+                                            gtk_widget_show_map_callback,
+                                           flag);
+    }
+
+  return FALSE;
 }
 
 /**
@@ -4015,7 +4020,7 @@ gtk_widget_show_now (GtkWidget *widget)
     {
       gtk_widget_show (widget);
 
-      g_signal_connect (widget, "map-event",
+      g_signal_connect (widget, "event",
                        G_CALLBACK (gtk_widget_show_map_callback),
                        &flag);